View Javadoc

1   package uba.db.table.io;
2   
3   import java.io.DataOutput;
4   import java.io.IOException;
5   import java.util.Iterator;
6   
7   import uba.db.column.Column;
8   import uba.db.column.io.ColumnWriter;
9   import uba.db.table.Row;
10  import uba.db.table.Table;
11  
12  /***
13   * @version $Revision: 1.3 $
14   */
15  public class RowWriter {
16      private ColumnWriter[] writers;
17  
18      public RowWriter(Table table, DataOutput out) {
19          writers = new ColumnWriter[table.columns().size()];
20          Iterator iter = table.columns().iterator();
21  
22          for (int i = 0; iter.hasNext(); i++) {
23              Column column = (Column) iter.next();
24              writers[i] = column.writerFor(out);
25          }
26      }
27  
28      public void write(Row row) throws IOException {
29          for (int i = 0; i < writers.length; i++) {
30              writers[i].write(row.valueAt(i));
31          }
32      }
33  }